Data communication systems exchange user data for user devices to provide various data communication services. The user devices may be phones, computers, media players, and the like. The data communication services might be media streaming, audio/video conferencing, data messaging, or internet access. Network Function Virtualization (NFV) computer systems are used to host data communication systems and deliver their data communication services.
NFV computer systems have Virtual Network Functions (VNFs) that perform data networking tasks. The NFV computer systems execute the VNFs under the control of virtualization software like hypervisors. The VNFs communicate with one another over NFV virtual Switches (vSWs). The VNFs also communicate with external systems over the NFV vSWs.
To implement a data communication service, an NFV Management and Orchestration (MANO) system directs the virtualization software to drive the execution of VNFs based on various descriptors for the data communication service. In a Software Defined Network (SDN), the VNFs may be SDN applications, SDN controllers, and virtual SDN data machines. The executing VNFs drive the delivery of the data communication services. The MANO system may scale the data communication system by adding and removing VNFs. The MANO system may scale the VNFs by adding and removing their computer hardware resources and virtual layer components like virtual switches and load balancers.
The data communication systems deploy NFV virtual Probes (vProbes) in the NFV to retrieve select data from the headers of a user data flow. In a typical application, a vProbe is deployed to slice packet headers from the data packet and forward the packet headers to a header analysis system. The NFV vProbes are deployed on a per-protocol basis and are pre-configured to identify the desired header data.
Unfortunately, a vProbe that is configured to process one protocol may not be adept at handling other protocols. For example, a vProbe that processes Internet Protocol (IP) packets to retrieve a specific destination IP prefix and its hop counts would not efficiently process Ethernet frames to retrieve Media Access Control (MAC) identifiers and their Virtual Local Area network (VLAN) identifiers. Moreover, vProbes that handle IP and Ethernet packets are not effective when handling application-specific protocols like Long Term Evolution (LTE) signaling and General Packet Radio Service Transfer Protocol (GTP) tunneling.